(function (modules) { // webpackBootstrap
    // The module cache
    // 缓存：闭包是可以做缓存的
    var installedModules = {};

    // The require function
    function __webpack_require__(moduleId) {

        // Check if module is in cache
        if (installedModules[moduleId]) {
            return installedModules[moduleId].exports;
        }
        // Create a new module (and put it into the cache)
        // 创建对象，并且加入缓存  （var a = b = c，先给 b 再给 a）
        var module = installedModules[moduleId] = {
            i: moduleId,
            l: false,
            exports: {}
        };

        // Execute the module function
        // 执行modules 函数
        // modules：匿名函数传递进来的参数
        modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

        // Flag the module as loaded
        module.l = true;

        // Return the exports of the module
        return module.exports;
    }

    // Load entry module and return exports
    // 注意：这里传递进去的moduleId其实就是入口 entry
    return __webpack_require__(__webpack_require__.s = "<%-entry%>");
})(
    {
        <% for (let k in modules) { %>
            "<%-k%>": (function (module, exports, __webpack_require__) {
                eval(`<%-modules[k]%>`);
            }),
        <%}%>
    }
);